*****EXPLANATION OF VARIABLES*****

orgid = unique identifier for organizations
cgroupid = unique ethnic group identifier
Violenceagainstgovernment = violence incidence dummy variable indicating whether organization is engaged in violence against government in a given year
Violenceagainstgovernment_l = lagged
violgov_ons_do = violence against government onset dummy
viol_ons_do = violence against government or civilians onset dummy
Religiousrights = religious claims dummy
Religiousrights_l = lagged
Linguisticrights_l = organizational demands for groups’ language rights (lagged)
iran = post-1979 dummy (coded 0 in years up to and including 1979; coded 1 in years after 1979)
cold = Cold War dummy (coded 1 in years up to and including 1990; coded 0 in years after 1990)
sep11 = post-9/11 dummy (coded 0 in years up to and including 2001; coded 1 in years after 2001)
muslim_above0 = dummy variable indicating whether an organization represents an ethnic group with at least one Muslim religious segment recorded in EPR-ED
v2xnp_regcorr_l = regime corruption (lagged)
reltreat_l = government treatment of largest religious segment (according to EPR-ED) of ethnic group represented by organization (lagged)
v2csrlgrep_l = government repression of religious organizations (lagged)
l_n_oth_grp_l = number of other organizations claiming to represent the same ethnic group (logged and lagged)
terr_l = self-determination claims dummy (lagged)
status_discrim = political discrimination dummy variable from EPR
warhist = number of previous civil conﬂicts involving the ethnic group represented by an organization
lgdpl = GDP per capita (logged and lagged)
lpopl = population size (logged and lagged)
year = calendar year
rel_diff = dummy for religious difference between ethnic group represented by organization and country’s ruling ethnic group (according to EPR)
Electoralparticipation_l = electoral participation dummy (lagged)
age = organizational age
e_total_oil_income_pc_l = per capita petroleum production (lagged)
violgov_hist = number of previous onsets of violence against government by organization
violciv_hist = number of previous onsets of violence against civilians by organization
violgov_peaceyrs = N organization-years without violence against government
violgov_peaceyrs2 = N organization-years without violence against government (quadratic)
violgov_peaceyrs3 = N organization-years without violence against government (cubic)
viol_peaceyrs = N organization-years without violence
viol_peaceyrs2 = N organization-years without violence (quadratic)
viol_peaceyrs3 = N organization-years without violence (cubic)
norelclaim_yrs = N organization-years without making religious claims
norelclaim_yrs2 = N organization-years without making religious claims (quadratic)
norelclaim_yrs3 = N organization-years without making religious claims (cubic)
nallzero = dummy variable denoting ethnic groups with variation in outcome 

*For information on data sources, see corresponding sections in the article.



*****Figure 1*****

by year, sort : egen float rel_by_year = mean(Religiousrights)
by year, sort : egen float rel_violgov_by_year = mean(Violenceagainstgovernment) if Religiousrights==1
by year, sort : egen float nonrel_violgov_by_year = mean(Violenceagainstgovernment) if Religiousrights==0
twoway (tsline rel_by_year, lcolor(black) lpattern(solid)) (tsline rel_violgov_by_year, lcolor(black) lpattern(dash)) (tsline nonrel_violgov_by_year, lcolor(black) lpattern(dot)) if year>=1950, ytitle(Proportion, size(small)) ttitle("") tlabel(1950(5)2010, labsize(small)) xline(1979, lcolor(black)) legend(order(1 "Religious claims (% of all organizations)" 2 "Political violence by religious organizations (%)" 3 "Political violence by non-religious organizations (%)") size(small) rows(3) nobox region(fcolor(white) lcolor(white))) graphregion(fcolor(white))


*****MAIN RESULTS*****

tsset orgid year

*Model 1: base model
areg violgov_ons_do Religiousrights_l iran muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo model1
*Model 2: testing the general macro-ideological expectation
areg violgov_ons_do Religiousrights_l##iran muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo model2
*Testing the mechanisms/conditions that make the macro-ideological environment resonate with specific actors in specific local contexts
*Model 3: identity link between "sender" and "receiver (Muslim ethnic identity)
areg violgov_ons_do Religiousrights_l##iran##muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo model3
*Model 4: corruption as a "receiving" context factor
areg violgov_ons_do Religiousrights_l##iran##c.v2xnp_regcorr_l muslim_above0 reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo model4
*Model 5: religious discrimination as a "receiving" context factor
areg violgov_ons_do Religiousrights_l##iran##c.reltreat_l v2csrlgrep_l muslim_above0 v2xnp_regcorr_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo model5
*Model 6: repression of religious organizations as a "receiving" context factor
areg violgov_ons_do Religiousrights_l##iran##c.v2csrlgrep_l muslim_above0 v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo model6

*Table 2
esttab model1 model2 model3 model4 model5 model6 using "Table2.rtf", ar2 onecell b(3) se(3) rtf
*(Table layout manually adjusted in Word.)

*Figure 2
gen post_cold=cold
recode post_cold (0 = 1) (1 = 0)
areg violgov_ons_do Religiousrights_l##iran muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Religiousrights_l, at(iran=(0(1)1))
marginsplot, recast(scatter) recastci(rspike) plotopts(mcolor(black) msize(vsmall)) ciopts(fcolor(black) lcolor(black) lpattern(dash)) xlabel(0 "Up to 1979" 1 "After 1979", labsize(small)) ylabel(-.06(.01).03, gmin gmax labsize(small)) xtitle("") ytitle("") yline(0, lcolor(black)) addplot(kdensity iran if violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(12)24, nolabels noticks axis(2)) ylabel(-.06(.01).03, gmin gmax labsize(small)) xlabel(0 "Up to 1979" 1 "After 1979") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(1, replace)
areg violgov_ons_do Religiousrights_l##post_cold muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Religiousrights_l, at(post_cold=(0(1)1))
marginsplot, recast(scatter) recastci(rspike) plotopts(mcolor(black) msize(vsmall)) ciopts(fcolor(black) lcolor(black) lpattern(dash)) xlabel(0 "During CW" 1 "After CW", labsize(small)) ylabel(-.06(.01).03, gmin gmax labsize(small)) xtitle("") ytitle("") yline(0, lcolor(black)) addplot(kdensity post_cold if violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(12)24, nolabels noticks axis(2)) ylabel(-.06(.01).03, gmin gmax labsize(small)) xlabel(0 "During CW" 1 "After CW") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(2, replace)
areg violgov_ons_do Religiousrights_l##sep11 muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Religiousrights_l, at(sep11=(0(1)1))
marginsplot, recast(scatter) recastci(rspike) plotopts(mcolor(black) msize(vsmall)) ciopts(fcolor(black) lcolor(black) lpattern(dash)) xlabel(0 "Up to 9/11" 1 "After 9/11", labsize(small)) ylabel(-.06(.01).03, gmin gmax labsize(small)) xtitle("") ytitle("") yline(0, lcolor(black)) addplot(kdensity sep11 if violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(12)24, nolabels noticks axis(2)) ylabel(-.06(.01).03, gmin gmax labsize(small)) xlabel(0 "Up to 9/11" 1 "After 9/11") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(3, replace)
gr combine 1.gph 2.gph 3.gph, row(1) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white))

*Figure 3
areg violgov_ons_do Religiousrights_l##iran##muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Religiousrights_l, at(muslim_above0=(0(1)1) iran=0)
marginsplot, recast(scatter) recastci(rspike) plotopts(mcolor(black) msize(vsmall)) ciopts(fcolor(black) lcolor(black) lpattern(dash)) xlabel(0 "non-Muslim" 1 "Muslim", labsize(small)) ylabel(-.08(.02).06, gmin gmax labsize(vsmall) axis(1)) xtitle(Religious identity (up to 1979)) xtitle(, size(small)) ytitle("") yline(0, lcolor(black)) addplot(kdensity muslim_above0 if iran==0 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(12)36, nolabels noticks axis(2)) ylabel(-.08(.02).06, gmin gmax labsize(vsmall) axis(1)) xlabel(0 "non-Muslim" 1 "Muslim") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(4, replace)
margins r.Religiousrights_l, at(muslim_above0=(0(1)1) iran=1)
marginsplot, recast(scatter) recastci(rspike) plotopts(mcolor(black) msize(vsmall)) ciopts(fcolor(black) lcolor(black) lpattern(dash)) xlabel(0 "non-Muslim" 1 "Muslim", labsize(small)) ylabel(-.08(.02).06, gmin gmax labsize(vsmall) axis(1)) xtitle(Religious identity (after 1979)) xtitle(, size(small)) ytitle("") yline(0, lcolor(black)) addplot(kdensity muslim_above0 if iran==1 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(12)36, nolabels noticks axis(2)) ylabel(-.08(.02).06, gmin gmax labsize(vsmall) axis(1)) xlabel(0 "non-Muslim" 1 "Muslim") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(5, replace)
areg violgov_ons_do Religiousrights_l##iran##c.v2xnp_regcorr_l muslim_above0 reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Religiousrights_l, at(v2xnp_regcorr_l=(.05(.1).95) iran=0)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xtitle(Regime corruption (up to 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity v2xnp_regcorr_l if iran==0 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)9, nolabels noticks axis(2)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xlabel(.05 "(Low) .05" .20 ".20" .35 ".35" .5 ".5" .65 ".65" .8 ".8" .95 ".95 (High)") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(6, replace)
margins r.Religiousrights_l, at(v2xnp_regcorr_l=(.05(.1).95) iran=1)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xtitle(Regime corruption (after 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity v2xnp_regcorr_l if iran==1 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)9, nolabels noticks axis(2)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xlabel(.05 "(Low) .05" .20 ".20" .35 ".35" .5 ".5" .65 ".65" .8 ".8" .95 ".95 (High)") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(7, replace)
areg violgov_ons_do Religiousrights_l##iran##c.reltreat_l muslim_above0 v2xnp_regcorr_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Religiousrights_l, at(reltreat_l=(0(.5)4) iran=0)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xtitle(Government favoritism towards rel. denomination (up to 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity reltreat_l if iran==0 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)9, nolabels noticks axis(2)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xlabel(0(.5)4) yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(8, replace)
margins r.Religiousrights_l, at(reltreat_l=(0(.5)4) iran=1)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xtitle(Government favoritism towards rel. denomination (after 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity reltreat_l if iran==1 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)9, nolabels noticks axis(2)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xlabel(0(.5)4) yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(9, replace)
areg violgov_ons_do Religiousrights_l##iran##c.v2csrlgrep_l muslim_above0 v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Religiousrights_l, at(v2csrlgrep_l=(-3.5(.5)2.5) iran=0)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.12(.04).16, gmin gmax labsize(vsmall)) xtitle(Repression of religious organizations (up to 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity v2csrlgrep_l if iran==0 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)4, nolabels noticks axis(2)) ylabel(-.12(.04).16, gmin gmax labsize(vsmall)) xlabel(-3.5 "(High) -3.5" -2.5 "-2.5" -1.5 "-1.5" -.5 "-.5" .5 ".5" 1.5 "1.5" 2.5 "2.5 (Low)") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(10, replace)
margins r.Religiousrights_l, at(v2csrlgrep_l=(-3.5(.5)2.5) iran=1)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.12(.04).16, gmin gmax labsize(vsmall)) xtitle(Repression of religious organizations (after 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity v2csrlgrep_l if iran==1 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)4, nolabels noticks axis(2)) ylabel(-.12(.04).16, gmin gmax labsize(vsmall)) xlabel(-3.5 "(High) -3.5" -2.5 "-2.5" -1.5 "-1.5" -.5 "-.5" .5 ".5" 1.5 "1.5" 2.5 "2.5 (Low)") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(11, replace)
gr combine 4.gph 5.gph 6.gph 7.gph, row(2) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white))
gr combine 8.gph 9.gph 10.gph 11.gph, row(2) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white))
*(For layout purposes and better readability, two separate combinations of four graphs each were produced and manually combined in Word.)


*****ROBUSTNESS TESTS*****

*Robustness Ia: other historical cut-offs
*(Together with Model 2 in Table 2, these two models underlie Figure 2 above. Note that for the figure, the Cold War dummy used here was recoded as *post*-Cold War dummy (see first two lines of code for Figure 2).) 
areg violgov_ons_do Religiousrights_l##cold muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela1
areg violgov_ons_do Religiousrights_l##sep11 muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela2
*Table A3
esttab modela1 modela2 using "TableA3.rtf", ar2 onecell b(3) se(3) rtf
*(Table layout manually adjusted in Word.)

*Robustness Ib: additional alternative cut-offs
gen treat=.
gen effect=.
gen interact=.
gen se=.
gen up=.
gen lo=.
gen treat_axis= 1960 in 1
replace treat_axis=treat_axis[_n-1]+5 in 2/9
forvalues t = 1960(5)2000 {
replace treat=1 if year>=`t'
replace treat=0 if year<`t'
replace interact=Religiousrights_l*treat
capture noisily areg violgov_ons_do Religiousrights_l treat interact muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
capture noisily replace effect=_b[interact] if treat_axis==`t'
capture noisily matrix V=e(V)
capture noisily scalar varb3=V[3,3]
capture noisily replace se=sqrt(varb3) if treat_axis==`t'
capture noisily replace up=effect+(1.96*se) if treat_axis==`t'
capture noisily replace lo=effect-(1.96*se) if treat_axis==`t'
}
*Figure A1
twoway (scatter effect treat_axis, mcolor(black)) (rcap up lo treat_axis, lcolor(black) lpattern(solid)), xlabel(1960(5)2000, labels labsize(small) angle(forty_five) valuelabel) ylabel(-.03(.01).06, labsize(vsmall) gmin gmax) xtitle(Moving cut-off year, margin(medium)) ytitle(Interaction of religious claims with alternative cut-off years, size(small) margin(medium)) yline(0, lcolor(black)) legend(order(1 "Coefficient" 2 "95% CI") size(small) nobox region(fcolor(white) lcolor(white))) graphregion(fcolor(white))

*Robustness II: effect of corruption and rel. repression for Muslim and non-Muslim ethnic groups
areg violgov_ons_do Religiousrights_l##iran##c.v2xnp_regcorr_l reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if muslim_above0==0, absorb(cgroupid) cluster(orgid)
eststo modela3
areg violgov_ons_do Religiousrights_l##iran##c.v2xnp_regcorr_l reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if muslim_above0==1, absorb(cgroupid) cluster(orgid)
eststo modela4
areg violgov_ons_do Religiousrights_l##iran##c.v2csrlgrep_l v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if muslim_above0==0, absorb(cgroupid) cluster(orgid)
eststo modela5
areg violgov_ons_do Religiousrights_l##iran##c.v2csrlgrep_l v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if muslim_above0==1, absorb(cgroupid) cluster(orgid)
eststo modela6
*Table A4
esttab modela3 modela4 modela5 modela6 using "TableA4.rtf", ar2 onecell b(3) se(3) rtf
*(Table layout manually adjusted in Word.)

*Robustness III: replicating Models 1-6 of Table 2, but using a dependent variable that considers all violence, including violence against civilians, rather than only violence against the government
areg viol_ons_do Religiousrights_l iran muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age viol_peaceyrs viol_peaceyrs2 viol_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela7
areg viol_ons_do Religiousrights_l##iran muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age viol_peaceyrs viol_peaceyrs2 viol_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela8
areg viol_ons_do Religiousrights_l##iran##muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age viol_peaceyrs viol_peaceyrs2 viol_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela9
areg viol_ons_do Religiousrights_l##iran##c.v2xnp_regcorr_l muslim_above0 reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age viol_peaceyrs viol_peaceyrs2 viol_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela10
areg viol_ons_do Religiousrights_l##iran##c.reltreat_l muslim_above0 v2xnp_regcorr_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age viol_peaceyrs viol_peaceyrs2 viol_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela11
areg viol_ons_do Religiousrights_l##iran##c.v2csrlgrep_l muslim_above0 v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age viol_peaceyrs viol_peaceyrs2 viol_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela12
*Table A5
esttab modela7 modela8 modela9 modela10 modela11 modela12 using "TableA5.rtf", ar2 onecell b(3) se(3) rtf
*(Table layout manually adjusted in Word.)

*Robustness IV: replicating Models 1-6 of Table 2 with subset of ethnic groups with variation in outcome
areg violgov_ons_do Religiousrights_l iran muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if nallzero==1, absorb(cgroupid) cluster(orgid)
eststo modela13
areg violgov_ons_do Religiousrights_l##iran muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if nallzero==1, absorb(cgroupid) cluster(orgid)
eststo modela14
areg violgov_ons_do Religiousrights_l##iran##muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if nallzero==1, absorb(cgroupid) cluster(orgid)
eststo modela15
areg violgov_ons_do Religiousrights_l##iran##c.v2xnp_regcorr_l muslim_above0 reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if nallzero==1, absorb(cgroupid) cluster(orgid)
eststo modela16
areg violgov_ons_do Religiousrights_l##iran##c.reltreat_l muslim_above0 v2xnp_regcorr_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if nallzero==1, absorb(cgroupid) cluster(orgid)
eststo modela17
areg violgov_ons_do Religiousrights_l##iran##c.v2csrlgrep_l muslim_above0 v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if nallzero==1, absorb(cgroupid) cluster(orgid)
eststo modela18
*Table A6
esttab modela13 modela14 modela15 modela16 modela17 modela18 using "TableA6.rtf", ar2 onecell b(3) se(3) rtf
*(Table layout manually adjusted in Word.)

*Robustness V: analyzing the emergence of religious claims
areg Religiousrights Violenceagainstgovernment_l iran muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age norelclaim_yrs norelclaim_yrs2 norelclaim_yrs3 if Religiousrights_l==0, absorb(cgroupid) cluster(orgid)
eststo modela19
areg Religiousrights iran##Violenceagainstgovernment_l muslim_above0 c.v2xnp_regcorr_l reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age norelclaim_yrs norelclaim_yrs2 norelclaim_yrs3 if Religiousrights_l==0, absorb(cgroupid) cluster(orgid)
eststo modela20
*Table A7
esttab modela19 modela20 using "TableA7.rtf", ar2 onecell b(3) se(3) rtf
*(Table layout manually adjusted in Word.)

*Robustness VI: additional robustness tests to address concerns of potential reverse causation in terms of repression and evaluate the impact of oil dependence
areg violgov_ons_do Religiousrights_l##iran##c.v2xnp_regcorr_l muslim_above0 reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if violgov_hist==0 & violciv_hist==0, absorb(cgroupid) cluster(orgid)
eststo modela21
areg violgov_ons_do Religiousrights_l##iran##c.v2csrlgrep_l muslim_above0 v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3 if violgov_hist==0 & violciv_hist==0, absorb(cgroupid) cluster(orgid)
eststo modela22
areg violgov_ons_do Religiousrights_l##iran##muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age e_total_oil_income_pc_l violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela23
areg violgov_ons_do Religiousrights_l##iran##c.v2xnp_regcorr_l muslim_above0 reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age e_total_oil_income_pc_l violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela24
areg violgov_ons_do Religiousrights_l##iran##c.v2csrlgrep_l muslim_above0 v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age e_total_oil_income_pc_l violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela25
*Table A8
esttab modela21 modela22 modela23 modela24 modela25 using "TableA8.rtf", ar2 onecell b(3) se(3) rtf
*(Table layout manually adjusted in Word.)

*Robustness VII: placebo test replacing the religious claims variable in Models 3, 4, and 6 of Table 2 with a variable denoting organizations' linguistic claims
areg violgov_ons_do Linguisticrights_l##iran##muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela26
areg violgov_ons_do Linguisticrights_l##iran##c.v2xnp_regcorr_l muslim_above0 reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela27
areg violgov_ons_do Linguisticrights_l##iran##c.v2csrlgrep_l muslim_above0 v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
eststo modela28
*Table A9
esttab modela26 modela27 modela28 using "TableA9.rtf", ar2 onecell b(3) se(3) rtf
*(Table layout manually adjusted in Word.)
*Figure A2
areg violgov_ons_do Linguisticrights_l##iran##muslim_above0 v2xnp_regcorr_l reltreat_l v2csrlgrep_l l_n_oth_grp_l terr_l status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Linguisticrights_l, at(muslim_above0=(0(1)1) iran=0)
marginsplot, recast(scatter) recastci(rspike) plotopts(mcolor(black) msize(vsmall)) ciopts(fcolor(black) lcolor(black) lpattern(dash)) xlabel(0 "non-Muslim" 1 "Muslim", labsize(small)) ylabel(-.08(.02).06, gmin gmax labsize(vsmall) axis(1)) xtitle(Religious identity (up to 1979)) xtitle(, size(small)) ytitle("") yline(0, lcolor(black)) addplot(kdensity muslim_above0 if iran==0 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(12)36, nolabels noticks axis(2)) ylabel(-.08(.02).06, gmin gmax labsize(vsmall) axis(1)) xlabel(0 "non-Muslim" 1 "Muslim") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(12, replace)
margins r.Linguisticrights_l, at(muslim_above0=(0(1)1) iran=1)
marginsplot, recast(scatter) recastci(rspike) plotopts(mcolor(black) msize(vsmall)) ciopts(fcolor(black) lcolor(black) lpattern(dash)) xlabel(0 "non-Muslim" 1 "Muslim", labsize(small)) ylabel(-.08(.02).06, gmin gmax labsize(vsmall) axis(1)) xtitle(Religious identity (after 1979)) xtitle(, size(small)) ytitle("") yline(0, lcolor(black)) addplot(kdensity muslim_above0 if iran==1 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(12)36, nolabels noticks axis(2)) ylabel(-.08(.02).06, gmin gmax labsize(vsmall) axis(1)) xlabel(0 "non-Muslim" 1 "Muslim") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(13, replace)
areg violgov_ons_do Linguisticrights_l##iran##c.v2xnp_regcorr_l reltreat_l c.v2csrlgrep_l l_n_oth_grp_l terr_l muslim_above0 status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Linguisticrights_l, at(v2xnp_regcorr_l=(.05(.1).95) iran=0)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xtitle(Regime corruption (up to 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity v2xnp_regcorr_l if iran==0 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)9, nolabels noticks axis(2)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xlabel(.05 "(Low) .05" .20 ".20" .35 ".35" .5 ".5" .65 ".65" .8 ".8" .95 ".95 (High)") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(14, replace)
margins r.Linguisticrights_l, at(v2xnp_regcorr_l=(.05(.1).95) iran=1)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xtitle(Regime corruption (after 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity v2xnp_regcorr_l if iran==1 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)9, nolabels noticks axis(2)) ylabel(-.30(.05).1, gmin gmax labsize(vsmall)) xlabel(.05 "(Low) .05" .20 ".20" .35 ".35" .5 ".5" .65 ".65" .8 ".8" .95 ".95 (High)") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(15, replace)
areg violgov_ons_do Linguisticrights_l##iran##c.v2csrlgrep_l v2xnp_regcorr_l reltreat_l l_n_oth_grp_l terr_l muslim_above0 status_discrim warhist lgdpl lpopl year rel_diff Electoralparticipation_l age violgov_peaceyrs violgov_peaceyrs2 violgov_peaceyrs3, absorb(cgroupid) cluster(orgid)
margins r.Linguisticrights_l, at(v2csrlgrep_l=(-3.5(.5)2.5) iran=0)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.12(.04).16, gmin gmax labsize(vsmall)) xtitle(Repression of religious organizations (up to 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity v2csrlgrep_l if iran==0 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)4, nolabels noticks axis(2)) ylabel(-.12(.04).16, gmin gmax labsize(vsmall)) xlabel(-3.5 "(High) -3.5" -2.5 "-2.5" -1.5 "-1.5" -.5 "-.5" .5 ".5" 1.5 "1.5" 2.5 "2.5 (Low)") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(16, replace)
margins r.Linguisticrights_l, at(v2csrlgrep_l=(-3.5(.5)2.5) iran=1)
marginsplot, recast(line) recastci(rline) plotopts(lcolor(black) msize(vsmall)) ciopts(lcolor(black) lcolor(black) lpattern(dash)) xlabel(, labsize(vsmall)) ylabel(-.12(.04).16, gmin gmax labsize(vsmall)) xtitle(Repression of religious organizations (after 1979)) xtitle(, size(small) margin(medsmall)) ytitle("") yline(0, lcolor(black)) addplot(kdensity v2csrlgrep_l if iran==1 & violgov_ons_do !=. & lgdpl !=. & v2xnp_regcorr_l !=. & status_discrim !=., lcolor(black) lpattern(dot) ylabel(0(1)4, nolabels noticks axis(2)) ylabel(-.12(.04).16, gmin gmax labsize(vsmall)) xlabel(-3.5 "(High) -3.5" -2.5 "-2.5" -1.5 "-1.5" -.5 "-.5" .5 ".5" 1.5 "1.5" 2.5 "2.5 (Low)") yaxis(2) yscale(alt axis(2)) ytitle("", axis(2)) ytitle(, size(small) axis(2))) legend(off) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) saving(17, replace)
gr combine 12.gph 13.gph 14.gph 15.gph 16.gph 17.gph, row(3) title("") graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white)) plotregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white))
